package com.itheima.controller;


import com.alibaba.dubbo.config.annotation.Reference;
import com.itheima.constant.MessageConstant;
import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.entity.Result;
import com.itheima.pojo.CheckItem;
import com.itheima.service.CheckItemService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/checkItem")
public class CheckItemController {
	@Reference
	private CheckItemService checkItemService;
	//新增检查项
//	@RequestMapping(value="/add",method RequestMethod.POST)
	@PostMapping("/add")
	public Result add(@RequestBody CheckItem checkItem){
		try{
			checkItemService.add(checkItem);
		}catch (Exception e){
			e.printStackTrace();
			//服务调用失败
//			return new Result(false, MessageConstant.ADD_CHECKGROUP_FAIL);
			return new Result(false);
		}
		return new Result();
	}
	@PostMapping("/findPage")
	public PageResult findPage(@RequestBody QueryPageBean queryPageBean){
		PageResult pageResult = checkItemService.pageQuery(queryPageBean);
		return pageResult;
	}
	@PreAuthorize("hasAuthority('CHECKITEM_DELETE')")//权限校验
	@GetMapping("/delete")
	public Result delete(Integer id){
		return checkItemService.deleteById(id);
	}
	//回显
	@RequestMapping("/findById")
	public Result findById(Integer id){
		try{
			CheckItem checkItem = checkItemService.findById(id);
			return new Result(true, MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItem);
		}catch (Exception e){
			e.printStackTrace();
			//服务调用失败
			return new Result(false, MessageConstant.QUERY_CHECKITEM_FAIL);
		}
	}
	@RequestMapping("/edit")
	public Result edit(@RequestBody CheckItem checkItem){
		try{
			checkItemService.edit(checkItem);
		}catch (Exception e){
			e.printStackTrace();
			//服务调用失败
			return new Result(false,MessageConstant.EDIT_CHECKITEM_FAIL);
		}
		return new Result(true,MessageConstant.EDIT_CHECKITEM_SUCCESS);
	}
	@RequestMapping("/findAll")
	public Result findAll(){
		try{
			List<CheckItem> checkItemList = checkItemService.findAll();
			return new Result(true,MessageConstant.EDIT_CHECKGROUP_SUCCESS,checkItemList);
		}catch (Exception e){
			e.printStackTrace();
			//服务调用失败
			return new Result(false,MessageConstant.EDIT_CHECKGROUP_FAIL);
		}
	}
}
